
function isValidUsername (str) {
  return ['admin', 'editor'].indexOf(str.trim()) >= 0;
}

function isExternal (path) {
  return /^(https?:|mailto:|tel:)/.test(path);
}

function isCellPhone (val) {
  if (!/^1(3|4|5|6|7|8)\d{9}$/.test(val)) {
    return false
  } else {
    return true
  }
}

//校验账号
function checkUserName (rule, value, callback){
  if (value == "") {
    callback(new Error("请输入账号"))
  } else if (value.length > 20 || value.length <3) {
    callback(new Error("账号长度应是3-20"))
  } else {
    callback()
  }
}

//校验姓名
function checkName (rule, value, callback){
  if (value == "") {
    callback(new Error("请输入姓名"))
  } else if (value.length > 12) {
    callback(new Error("账号长度应是1-12"))
  } else {
    callback()
  }
}

//校验姓名
function checkShopName (rule, value, callback){
  if (value == "") {
    callback(new Error("请输入店名"))
  } else if (value.length > 12) {
    callback(new Error("账号长度应是1-12"))
  } else {
    callback()
  }
}

// 校验经度
function checkLongitude(rule, value, callback) {
  if (value === "") {
    callback(new Error("请输入经度"));
  } else {
    // 使用正则表达式检查经度格式是否正确
    const longitudeRegex = /^-?((1[0-7]\d(\.\d{3,})?)|(180(\.0{3,})?))$/;
    if (!longitudeRegex.test(value)) {
      callback(new Error("请输入有效的经度值，范围在-180到180之间且至少保留三位小数"));
    } else {
      callback();
    }
  }
}
// 校验纬度
function checkLatitude(rule, value, callback) {
  if (value === "") {
    callback(new Error("请输入纬度"));
  } else {
    // 使用正则表达式检查纬度格式是否正确
    const latitudeRegex = /^-?((0|[1-8]\d)(\.\d{3,})?)$|^-?90(\.0{3,})?$/;
    if (!latitudeRegex.test(value)) {
      callback(new Error("请输入有效的纬度值，范围在-90到90之间且至少保留三位小数"));
    } else {
      callback();
    }
  }
}



function checkPhone (rule, value, callback){
  // let phoneReg = /(^1[3|4|5|6|7|8|9]\d{9}$)|(^09\d{8}$)/;
  if (value == "") {
    callback(new Error("请输入手机号"))
  } else if (!isCellPhone(value)) {//引入methods中封装的检查手机格式的方法
    callback(new Error("请输入正确的手机号!"))
  } else {
    callback()
  }
}


function validID (rule,value,callback) {
  // 身份证号码为15位或者18位，15位时全为数字，18位前17位为数字，最后一位是校验位，可能为数字或字符X
  let reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
  if(value == '') {
    callback(new Error('请输入身份证号码'))
  } else if (reg.test(value)) {
    callback()
  } else {
    callback(new Error('身份证号码不正确'))
  }
}
